<?php
	class ProtOcorrenciaDAO {

		function getLista($p) {
			$sql = "select 
						po.PROT_OCORRENCIA, 
						po.PROT, 
						u.nome as USUARIO, 
						po.OCORRENCIA, 
						po.DT_INI, 
						po.DT_FIM, 
						po.SITUACAO,					
						TIMEDIFF(po.DT_FIM,po.DT_INI) as TEMPO_DECORRIDO				
					from prot_ocorrencia po 
					join prot_ocorrencia po2 on po2.prot_ocorrencia = (select min(prot_ocorrencia) from prot_ocorrencia)
					join usuario u on u.usuario = po.usuario   
					where po.prot = " . $p->getId() . " 				
					order by prot_ocorrencia, dt_ini";
			$db = new DB();
			$res = $db->query($sql);

			return $res;
		}

		function addProtOcorrencia($po) {
			if ($po->getDt_ini()) {
				$sql = "insert into prot_ocorrencia
						(ocorrencia, prot, usuario, dt_ini, dt_fim, situacao)
						values
						('".$po->getOcorr()."', 
						  ".$po->getProt()->getId().",
						  ".$po->getUsuario()->getId().",
						  '".$po->getDt_ini()."',
						  '".$po->getDt_fim()."',
						  '".$po->getSit()."')";         
			  
				$db = new DB();
				$res = $db->query($sql);
						  
				if($res) {
					$sql = "select max(prot_ocorrencia)
							from prot_ocorrencia";
					$res = $db->query($sql);
				}            
				return $res;
			} 
			else {
				$sql = "insert into prot_ocorrencia
						(ocorrencia, prot, usuario, dt_ini) values
						('".$po->getOcorr()."', 
						  ".$po->getProt()->getId().",
						  ".$po->getUsuario()->getId().",
						  null)";
				$db = new DB();
				$res = $db->query($sql);
				
				if($res) {
					$sql = "select max(prot_ocorrencia)
							from prot_ocorrencia";
					$res = $db->query($sql);            
				}    
				return $res;
			}
		}
		
		function setProtOcorrencia($po) {
			$sql = "update prot_ocorrencia set  ocorrencia = '".$po->getOcorr()."', 
												situacao = ".($po->getSit() ? "'".$po->getSit()."'" : "NULL").",
												dt_fim = ". ($po->getDt_fim() ? "'".$po->getDt_fim()."'" : "NULL")." where prot_ocorrencia = ".$po->getId();     
			
			
			$db = new DB();
			$res = $db->query($sql);
		
			return $res;	
		} 
		
		function getProtOcorrencia($id) {
			$sql = "select 
						po.PROT_OCORRENCIA, 
						po.PROT, 					
											u.USUARIO,
						po.OCORRENCIA, 
						po.DT_INI, 
						po.DT_FIM, 
						po.SITUACAO,
						TIMEDIFF(po.DT_FIM, po.DT_INI) * 1440 as TEMPO_DECORRIDO
					from prot_ocorrencia po 
					join prot_ocorrencia po2 on po2.prot_ocorrencia = (select min(prot_ocorrencia) from prot_ocorrencia)
					join usuario u on u.usuario = po.usuario   
					where po.prot_ocorrencia = " . $id;     
			
			$db = new DB();
			$res = $db->query($sql);
			
			$ud = new UsuarioDAO();
			$u = $ud->getUsuario($res[0]['USUARIO']);
			
			$pd = new ProtDAO();
			$p = $pd->getProt($res[0]['PROT']);
			
			$po = new ProtOcorrencia($res[0]['PROT_OCORRENCIA'],$p,$res[0]['OCORRENCIA'],$res[0]['DT_INI'],$res[0]['DT_FIM'],$u,$res[0]['SITUACAO']);
			
			return $po;
		}
	}
?>
